const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server, {
  cors:{
    origin: '*'
  }
});

// io.on() 用于监听websocket事件   connection为连接建立成功事件
// 一旦客户端向服务端发送请求建立连接，连接建立成功后将触发该事件，
// 将立即执行第二个参数：回调方法
   let  count=0  //保存当前在线人数
io.on('connection', (socket) => {
  console.log('有客户端连进来了:'+socket.id);
  count++;
  io.emit('countmsg',count)
  // 监听socket的断开事件
  socket.on('disconnect',function(){
    count--
  io.emit('countmsg',count)
  })
  socket.on('textmsg', function(data){
    // 接收到某客户端发的消息后，给所有人群发一遍即可
    io.emit('textmsg', data)
  })
});

server.listen(3010, () => {
  console.log('websocket服务已启动，正在监听 *:3010');
});